//
// file name: frame.h
//
#pragma once

#include "DinoEditorApp.h"
#include "DRenderWindow.h"
#include "wx\splitter.h"

///////////////////////////////////////////////////////////////////////////////

// Define a new frame type: this is going to be our main frame
class DinoEditorFrame : public wxFrame
{
public:
	wxBoxSizer *m_mainSizer;
	wxSplitterWindow *m_mainSplitter;
	wxSplitterWindow *m_childSplitter1;
	wxSplitterWindow *m_childSplitter2;

	DRenderWindow *m_renderWindowTopLeft;
	DRenderWindow *m_renderWindowTopRight;
	DRenderWindow *m_renderWindowBottomLeft;
	DRenderWindow *m_renderWindowBottomRight;

public:
    // ctor(s)
    DinoEditorFrame(const wxString& title, const wxSize &size);

	void SplitRenderWindows();

    // event handlers (these functions should _not_ be virtual)
    void OnQuit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);

	void OnExpandTopLeft(wxCommandEvent &WXUNUSED(event));
	void OnExpandTopRight(wxCommandEvent &WXUNUSED(event));
	void OnExpandBottomLeft(wxCommandEvent &WXUNUSED(event));
	void OnExpandBottomRight(wxCommandEvent &WXUNUSED(event));
	void OnSplitAll(wxCommandEvent &WXUNUSED(event));
	void OnTest(wxCommandEvent &WXUNUSED(event));
	void OnFogSetup(wxCommandEvent &WXUNUSED(event));
	void OnWireframeMode(wxCommandEvent &WXUNUSED(evt));


private:
    // any class wishing to process wxWidgets events must use this macro
    DECLARE_EVENT_TABLE()
};
